package com.inter.service;

import com.inter.entity.bak.InternationalPayPackage;
import com.inter.entity.common.DevicePackageCoverPicture;
import com.inter.entity.common.DevicePackageMarketingStrategy;
import com.inter.entity.common.PartnerProductPackage;
import com.inter.entity.common.PartnerProductRefPackage;

import java.util.List;

public interface PartnerProductPackageService {
    /**
     * 为了兼容老版本的H5入库套餐原始数据的代码
     *
     * @param payPackage
     */
    public void bak_storagePackage(InternationalPayPackage payPackage);

    public String queryPartnerNameBypartnerCode(String partnerCode);

    public String queryContinent(String mccs);

    public String queryContinentEN(String mccs);

    public String queryCountryEN(String mccs);

    public void storagePackage(PartnerProductPackage product);

    public int findPictureExistOrNot(String packageCode, String partnerCode);

    public void storagePicture(DevicePackageCoverPicture picture);

    public void storageRefuelingPackage(PartnerProductPackage product);

    public int findPackageByPartnerCodeAndPackageCode(String packageCode, String partnerCode);

    /***
     * 首页获取套餐
     * @param partnerCode
     * @return
     */
    public List<PartnerProductPackage> getProductListByPartnerCode(String partnerCode);

    public List<DevicePackageCoverPicture> getPictureByPartnerCodeAndPackageCode(String packageCode, String partnerCode);

    public List<DevicePackageMarketingStrategy> getStrategyByPartnerCodeAndPackageCode(String packageCode, String partnerCode);

    /**
     * 详情页获取套餐
     *
     * @param partnerCode
     * @param coverCountryMcc
     * @return
     */
    public List<PartnerProductPackage> getProductListByPartnerCodeAndMcc(String partnerCode, String coverCountryMcc);

    /**
     * 查询有加油包的记录，加油包是否有记录
     *
     * @param packageCode
     * @param partnerCode
     * @param refPackageCode
     * @return
     */
    public int findPackageByPartnerCodeAndPackageCodeAndRefPackageCode(String packageCode, String partnerCode, String refPackageCode);

    public void storageRefPackage(PartnerProductRefPackage refPackage);

    public List<PartnerProductRefPackage> getRefPackageByPartnerCodeAndPackageCode(String packageCode, String partnerCode);

    public String queryPackageNameByCode(String packageCode, String partnerCode);

    public String queryPackageName(String packageName, String partnerCode);

    public String querycnyByCode(String partnerCode, String packageCode);

    public String queryusdByCode(String partnerCode, String packageCode);

    /**
     * 查询packageStatus ：套餐的状态:1启用，2停用
     *
     * @param packageCode
     * @param partnerCode
     * @return
     */
    String queryPackageStatusByCode(String packageCode, String partnerCode);

    /**
     * 更新套餐数据的状态
     *
     * @param product
     */
    void updatePackageStatus(PartnerProductPackage product);

    /**
     * 插入数据表
     *
     * @param product
     */
    void storageData(PartnerProductPackage product);

    String queryNameEnByCode(String partnerCode, String packageCode);

    void update_package_usage_attribute(PartnerProductPackage pro);

    /**
     * 根据partnerCode和packageCode查询套餐使用的属性
     *
     * @param partnerCode
     * @param packageCode
     * @return
     */
    String queryUsageAttributeByCode(String partnerCode, String packageCode);
}
